package proto

import (
	"regexp"
	"time"
	D "websocket_apn/define"
	"websocket_apn/log"
)

/*

04:08:43 20:19:34
2024/09/20 00:28:17 1726763297

71 AB 00 00 01 13 00 00 42 69 00 00 02D4 07 01 81 E2 08 00 12 FC 01 08 D5 E0 F3 D8 A0 32 10 01 18 B8 17 22 0E 08 D5 A8 DA AF A0 32 10 01 18 B8 17 20 01 22 0E 08 B1 86 DA AF A0 32 10 02 18 B8 17 20 01 22 0E 08 DD EE D1 83 A0 32 10 01 18 B8 17 20 01 22 0E 08 BC C9 D1 83 A0 32 10 02 18 B8 17 20 01 22 0E 08 C8 C7 A2 D8 9F 32 10 01 18 B8 17 20 01 22 0E 08 EC AC A2 D8 9F 32 10 02 18 B8 17 20 01 22 0E 08 87 AB C1 AD 9F 32 10 01 18 B8 17 20 01 22 0E 08 A8 84 C1 AD 9F 32 10 02 18 B8 17 20 01 22 0E 08 BE B3 EA FE 9E 32 1001 18 B8 17 20 01 22 0E 08 BD 91 EA FE 9E 32 10 02 18 B8 17 20 01 22 0E 08 AD F0 82 CD 9E 32 10 01 18 B8 17 20 01 22 0E 08 BD D5 82 CD 9E 32 10 02 18 B8 17 20 01 22 0E 08 D0 C6 C0 A3 9E 32 10 01 18 B8 17 20 01 22 0E 08 DC A0 C0 A3 9E 32 1002 18 B8 17 20 01 22 0E 08 FB A2 82 FA 9D 32 10 01 18 B8 17 20 01
71 AB 00 00 00 72 00 00 42 69 00 00 02D4 08 94 30 6F 08 00 12 5C    08 D4 8A F3 D2 A0 32 10 01 18 B8 17 22 0E 08 D4 D2 D9 A9 A0 32 10 01 18 B8 17 20 01 22 0E 08 D4 D8 D4 A9 A0 32 10 02 18 B8 17 20 01 22 0E 08 E5 90 D5 97 9F 32 10 01 18 B8 17 20 01 22 0E 08 C3 DB D4 97 9F 32 10 02 18 B8 17 20 01 22 0E 08 AC 87 E0 8C 9E 32 10 01 18 B8 17 20 01


00:29:10 20:29:14
2024/09/19 20:58:24 1726837104

*/

//查看呱仙阁的结果
func ParaXianYuOfferingSacrificesInfo(dataBytes []byte) D.XianYuOfferingSacrificesInfo {
	info := D.XianYuOfferingSacrificesInfo{}
	data := BytesToHexStr(dataBytes)
	// 定义正则表达式                                                1 时间
	re := regexp.MustCompile(`080012[0-9A-Fa-f]{2,4}08([0-9A-Fa-f]{12,14})100[0-9]18`)
	regRes := re.FindAllStringSubmatch(data, -1)
	if len(regRes) == 0 {
		log.Errorf("解析数据失败-%s", data)
	}
	if len(regRes) > 0 && len(regRes[0]) > 1 {
		bytes, _ := HexStrToBytes(regRes[0][1])
		millis := ParaIntData(bytes)
		info.Time = time.Unix(millis/1000, (millis%1000)*1000000)
		log.Infof("福利-呱仙阁[%s]取出供奉", info.Time.Format("2006-01-02 15:04:05"))
	} else {
		info.NeedOffer = true
	}
	log.Infof("%+v", info)
	return info
}
